<#include "include/head.ftl">
package ${NamespaceSqlProvider};

import org.apache.commons.lang.StringUtils;
import static org.apache.ibatis.jdbc.SqlBuilder.*;
import ${NamespaceModel}.${Po};
 
/**
 * 
 * 类名:		 ${Po}SqlProvider <br/>
 * 作用：		 ${tableLabel}SqlProvider<br/>
 * 方法： 			<br/>
 * 创建者: 	 ${author} <br/>
 * 添加时间:    ${copyright.createDate} ${copyright.createTime} <br/>
 * 版本： 		 ${copyright.version}
 * 
 * @since 	 ${copyright.JDKVersion }   ${copyright.version}
 */
public class ${Po}SqlProvider {

	@SuppressWarnings("deprecation")
	public static void condition(${Po} ${Po?uncap_first}){
	<#list table.columnList as column>
		//${column.columnLabel}
		if (StringUtils.isNotBlank(${Po?uncap_first}.get${column.columnName?cap_first}())) {
			WHERE("T1.${column.columnNameRes?capitalize} = ${"#"}{ ${column.columnName?uncap_first} }");
		}
	</#list>
	}
	
	/**
     * 方法名： 	queryCount .<br/>
     * 注意事项:	  		   .<br/>
     * 方法作用:	查询单条信息   .<br/>
     *
     * 创建者： 	${author}<br/>
	 * 创建日期：	${copyright.createDate}.<br/>
	 * 创建时间：	${copyright.createTime}.<br/>
     * 参数者异常：	@param ${Po}
     * 参数者异常：	@return .<br/>
     * 返回值： 	@return 返回结果：String.<br/>
     * 其它内容：   ${copyright.JDKVersion }  ${projectVersion}.<br/>
     */
    @SuppressWarnings("deprecation")
	public static String queryCount(${Po} ${Po?uncap_first}){
		BEGIN();
		SELECT(" COUNT(1) ");
		FROM("   ${tableName} T1 ");
		condition(${Po?uncap_first});
		return SQL();
	}
	
	/**
     * 方法名： 	queryList  .<br/>
     * 注意事项:	  		   .<br/>
     * 方法作用:	查询单条信息   .<br/>
     *
     * 创建者： 	${author}<br/>
	 * 创建日期：	${copyright.createDate}.<br/>
	 * 创建时间：	${copyright.createTime}.<br/>
     * 参数者异常：	@param ${Po}
     * 参数者异常：	@return .<br/>
     * 返回值： 	@return 返回结果：String.<br/>
     * 其它内容：   ${copyright.JDKVersion }  ${projectVersion}.<br/>
     */
	@SuppressWarnings("deprecation")
	public static String queryList(${Po} ${Po?uncap_first}){
	  	BEGIN();
	 <#list table.columnList as column>
 		SELECT(" T1.${column.columnNameRes?capitalize} as  ${column.columnName?capitalize}");
	 </#list>
		FROM("   ${tableName} T1 ");
		condition(${Po?uncap_first});
	  	return   SQL();
	}
	
	/**
     * 方法名： 	select${Po}.<br/>
     * 注意事项:	  		   .<br/>
     * 方法作用:	查询单条信息   .<br/>
     *
     * 创建者： 	${author}<br/>
	 * 创建日期：	${copyright.createDate}.<br/>
	 * 创建时间：	${copyright.createTime}.<br/>
     * 参数者异常：	@param ${Po}
     * 参数者异常：	@return .<br/>
     * 返回值： 	@return 返回结果：String.<br/>
     * 其它内容：   ${copyright.JDKVersion }  ${projectVersion}.<br/>
     */
	@SuppressWarnings("deprecation")
	public static String query${Po}(${Po} ${Po?uncap_first}){
		BEGIN();
	 <#list table.columnList as column>
 		SELECT(" T1.${column.columnNameRes?capitalize}  as   ${column.columnName?capitalize} ");
	 </#list>
		FROM("   ${tableName} T1 ");
		condition(${Po?uncap_first});
		return SQL();
	}
	
	
	/**
     * 方法名： 	insert${Po}.<br/>
     * 注意事项:	  		  .<br/>
     * 方法作用:	新增量信息 .<br/>
     *
     * 创建者： 	${author}<br/>
	 * 创建日期：	${copyright.createDate}.<br/>
	 * 创建时间：	${copyright.createTime}.<br/>
     * 参数者异常：	@param ${Po}
     * 参数者异常：	@return .<br/>
     * 返回值： 	@return 返回结果：String.<br/>
     * 其它内容：   ${copyright.JDKVersion }  ${projectVersion}.<br/>
     */
	@SuppressWarnings("deprecation")
	public static String insert${Po}(${Po} ${po?uncap_first}){
		BEGIN();
		INSERT_INTO("  ${tableName}  ");
	<#list table.columnList as column>
		VALUES(" ${column.columnNameRes?capitalize} ","${"#"}{ ${column.columnName?uncap_first} : ${column.columnTypeName}  }");
 	</#list>
		return SQL();
	}
	
	/**
     * 方法名： 	update${Po}.<br/>
     * 注意事项:	  		  .<br/>
     * 方法作用:	按条件修改信息 .<br/>
     *
     * 创建者： 	${author}<br/>
	 * 创建日期：	${copyright.createDate}.<br/>
	 * 创建时间：	${copyright.createTime}.<br/>
     * 参数者异常：	@param ${Po}
     * 参数者异常：	@return .<br/>
     * 返回值： 	@return 返回结果：String.<br/>
     * 其它内容：  ${copyright.JDKVersion }  ${projectVersion}.<br/>
     */
	@SuppressWarnings("deprecation")
	public static String  update${Po}(${Po} ${po?uncap_first}){
		BEGIN();
		UPDATE(" ${tableName} " );
	<#list table.columnList as column>
		SET(" ${column.columnNameRes?capitalize} =${"#"}{ ${column.columnName?uncap_first} } ");
 	</#list>
		WHERE(" 1 !=1 ");
		return SQL();
	}
	 
	    
    /**
     * 方法名： 	delete{Po}.<br/>
     * 注意事项:	  		  .<br/>
     * 方法作用:	按条件删除信息 .<br/>
     *
     * 创建者： 	${author}<br/>
	 * 创建日期：	${copyright.createDate}.<br/>
	 * 创建时间：	${copyright.createTime}.<br/>
     * 参数者异常：	@param ${Po}
     * 参数者异常：	@return .<br/>
     * 返回值： 	@return 返回结果：String.<br/>
     * 其它内容：  ${copyright.JDKVersion }  ${projectVersion}.<br/>
     */
	@SuppressWarnings("deprecation")
	public static String  delete${Po}(${Po} ${po?uncap_first}){
		BEGIN();
		DELETE_FROM(" ${tableName} ");
        WHERE(" 1!=1 ");
		return SQL();
	}
 
 	
}